package com.hup.utils.io.netty;

import com.hup.utils.io.netty.handler.DataCodecHandler;

/**
 * @author hugan
 * @date 2021/4/25
 */
public class NettyConstant {

    /**
     * 协议帧头, {@link DataCodecHandler}
     */
    public static final int FRAME_HEAD = 0x88776655;
    /**
     * 帧头的"数据大小",单位-字节;
     * 1个int占4个byte/字节
     */
    public static final int FRAME_HEAD_FIELD_SIZE = 4;
    /**
     * 数据长度field的偏移量,单位-字节, {@link DataCodecHandler}
     */
    public static final int FRAME_LENGTH_FIELD_OFFSET = 8;
    /**
     * 数据长度field的"数据大小",单位-字节, {@link DataCodecHandler}
     */
    public static final int FRAME_LENGTH_FIELD_SIZE = 4;

    /**
     * 预定义的数据类型
     */
    public interface DataType {
        /**
         * 异常信息
         */
        int EXCEPTION = -1;
        /**
         * 登陆认证请求,由客户端发送
         */
        int LOGIN_REQUEST = 0;
        /**
         * 登陆认证回复,由服务端发送
         */
        int LOGIN_RESPONSE = 1;
        /**
         * 心跳包
         */
        int HEARTBEAT = 2;
    }

}
